﻿#include "EnumEdit.h"
#include "ui_EnumEdit.h"

EnumEdit::EnumEdit(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::EnumEdit)
{
    ui->setupUi(this);

    initEnumTableView();
}

EnumEdit::~EnumEdit()
{
    delete ui;
}

/**
 * @brief EnumEdit::on_pushButton_addEnum_clicked 添加枚举
 */
void EnumEdit::on_pushButton_addEnum_clicked()
{
//    //获取当前列表的行数
//    m_RowCount = ui->tableView_Enum->model()->rowCount();
//    //设置新行数据
//    QVector<QVariant> vec;
//    for(int column=0; column<ui->tableView_Enum->model()->columnCount(); ++column){
//        if(m_Enum_Index_CellName_Map.contains(column)){
//            if(column==2){
//                vec.append("0");
//                continue;
//            }
//            vec.append(QString(m_Enum_Index_CellName_Map.value(column)+"_%1").arg(m_RowCount+1));
//        }
//    }
//    ui->tableView_Enum->addRowData(m_RowCount,vec);
}

/**
 * @brief EnumEdit::on_pushButton_deleteNum_clicked 删除枚举
 */
void EnumEdit::on_pushButton_deleteNum_clicked()
{
    QVariant rowId = ui->tableView_Enum->getSelectRowId();
    ui->tableView_Enum->deleteRow(rowId);
}

/**
 * @brief EnumEdit::on_pushButton_addKey_clicked 添加键值
 */
void EnumEdit::on_pushButton_addKey_clicked()
{
//    //获取当前列表的行数
//    m_RowCount = ui->tableView_KeyValue->model()->rowCount();
//    //设置新行数据
//    QVector<QVariant> vec;
//    for(int column=0; column<ui->tableView_KeyValue->model()->columnCount(); ++column){
//        if(m_Key_Index_CellName_Map.contains(column)){
//            if(column==2){
//                vec.append("");
//                continue;
//            }
//            vec.append(QString(m_Key_Index_CellName_Map.value(column)+"_%1").arg(m_RowCount+1));
//        }
//    }
//    ui->tableView_KeyValue->addRowData(m_RowCount,vec);
}

/**
 * @brief EnumEdit::on_pushButton_deleteKey_clicked 删除键值
 */
void EnumEdit::on_pushButton_deleteKey_clicked()
{
    QVariant rowId = ui->tableView_Enum->getSelectRowId();
    ui->tableView_Enum->deleteRow(rowId);
}

/**
 * @brief EnumEdit::on_lineEdit_search_textChanged 搜索文本改变
 * @param arg1 搜索文本
 */
void EnumEdit::on_lineEdit_search_textChanged(const QString &arg1)
{
    ui->tableView_Enum->setFilterRegExp(arg1);
}

/**
 * @brief EnumEdit::initEnumTableView 初始化枚举表格
 */
void EnumEdit::initEnumTableView()
{
    //枚举表格添加表头
    ui->tableView_Enum->addColumn("枚举Id");
    ui->tableView_Enum->addColumn("枚举名称");
    ui->tableView_Enum->addColumn("长度");
    //设置枚举表格视图属性
    ui->tableView_KeyValue->setSelectionBehavior(QAbstractItemView::SelectRows);

    //键值表格添加表头
    ui->tableView_KeyValue->addColumn("键");
    ui->tableView_KeyValue->addColumn("值");
    ui->tableView_KeyValue->addColumn("说明");
    //设置键值表格视图属性
    ui->tableView_KeyValue->setSelectionBehavior(QAbstractItemView::SelectRows);
}

